package fileDemo.imageDemo;

/**
 * @author Ajie
 * @date 2020-03-24
 * @function
 */

//import android.graphics.Bitmap;
//import android.graphics.BitmapFactory;
//import android.util.Base64;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * Todo 无法测试。可以调用 但是无法调用底层的
 * at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:56)
 * 无 android 环境，只是通过了编译。
 *  测试Base64Util
 */
public class Base64Util_Android {
    public volatile static int quality = 70;//不能修i改。person md5 changed...

    private static final String currentPath = "./src/fileDemo/imageDemo/";
    public static void main(String[] args) throws IOException {

        System.out.println("Base64Util_Android:main:");
////        test
//        //调用把图片转换为base64 数据方法	参数是需要转base64图片的路径
//        String strImg = encodeImageToStr(currentPath+ "base64before.jpeg");
//        //输出base64 数据, 自定义添加 前缀。
//        System.out.println("data:image/png;base64,"+strImg);
//        //调用把base64 数据转换为图片方法  第一个参数是字符串数据，第二个是转为图片存放的路径
//        decodeToStrImage(strImg, currentPath + "base64Decode_Android.jpeg");
    }

//    //不压缩
//    public static String encodeFullImageToStr(String path) {
//        Bitmap bitmap = BitmapFactory.decodeFile(path);
//        if (bitmap != null) {
//            byte[] bitmapBytes = getByteByBitmap(bitmap,100);
//            return Base64.encodeToString(bitmapBytes, Base64.DEFAULT);
//        }
//        return null;
//    }
//
//    //图片转化成base64字符串
//    public static boolean decodeToStrImage(String str,String savePath) throws IOException {
//        byte[] decode = Base64.decode(str, Base64.DEFAULT);
//        Bitmap bitmap = BitmapFactory.decodeByteArray(decode,0,decode.length);
//        if (bitmap != null) {
//            if (savePath == null || savePath.length()<1){
//                return false;
//            }
//            new File(savePath).delete();
//            FileOutputStream fileOutputStream = new FileOutputStream(savePath);
//            bitmap.compress(Bitmap.CompressFormat.JPEG,quality,fileOutputStream);
//            fileOutputStream.close();
//            return true;
//        }
//        return false;
//    }
//
//    //图片转化成base64字符串
//    public static String encodeImageToStr(String path) {
//        Bitmap bitmap = BitmapFactory.decodeFile(path);
//        if (bitmap != null) {
//            byte[] bitmapBytes = getByteByBitmap(bitmap,quality);
//            return Base64.encodeToString(bitmapBytes, Base64.DEFAULT);
//        }
//        return null;
//    }
//
//    //图片转化成base64字符串
//    public static String encodeImageToStr(Bitmap bitmap) {
//        if (bitmap != null) {
//            byte[] bitmapBytes = getByteByBitmap(bitmap,quality);
//            return Base64.encodeToString(bitmapBytes, Base64.DEFAULT);
//        }
//        return null;
//    }
//
//    //图片转化成base64字符串
//    public static String encodeImageToStr(byte[] input){
//        return input == null ? "" :new String(Base64.encode(input, Base64.DEFAULT));
//    }
//
//    private static byte[] getByteByBitmap(Bitmap bitmap,int quality) {
//        ByteArrayOutputStream bos = new ByteArrayOutputStream();
//        bitmap.compress(Bitmap.CompressFormat.JPEG, quality, bos);
//        return bos.toByteArray();
//    }

}

